package com.liangwj.springbootquickstart.rpc;

import java.io.IOException;

/**
 * @Filename: Server.java
 * @Description: 服务端 --1.进行服务注册
 *                       2.接受客户端的调用参数
 *                       3.执行调用请求
 *                       4.返回结果
 * @Version: 1.0
 * @Author: Wenjun.Liang
 * @Email: Wenjun.Liang@paat.com
 * @History:<br>
 * <li>Author: Wenjun.Liang </li>
 * <li>Date: 2019/6/15-15:54 </li>
 * <li>Version: 1.0 </li>
 * <li>Content: create </li>
 */
public interface Server {

    /** Socket端口 */
    int PORT = 8989;

    /** 启动服务端 */
    void start() throws IOException;

    /**
     * 停止服务
     */
    void stop();

    /**
     * 服务注册
     * @param serviceInterface 对外暴露接口
     * @param impl 内部实现类
     */
    void register(Class<? extends IRpcService> serviceInterface, Class<? extends IRpcService> impl);
}
